package interfaceStudy;

interface IA{
//    接口是100%抽象的类，其内部的方法都是抽象的
//    接口中的成员变量必须是public static final的，方法必须是public abstract的
//    由于是必须的，所以可以直接不写，系统会补上
    public static final double width=100;
    double height=50;
    public abstract double getArea();
//    自从jdk1.8以后可以通过default在接口中写函数体，这是虚拟的拓展函数
//    可以被继承
    void print2();
    default void print1(){
        System.out.println("11");
    }
}
abstract class C implements IA{
    public void print2(){
        System.out.println("22");
    }
}
class B extends C{
    public double getArea(){
        return width*height;
    }
}
public class interfaceStudy {
    public static void main(String[] args) {
        IA obj=new B();
        System.out.println(obj.getArea());
        obj.print1();
        obj.print2();
    }
}
